home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Periodicals / develop / develop 3 code / Surf's Up! / Interfaces / PInterfaces / TMIntf.p < prev   
Encoding:
Text File  |  1989-11-17  |  6.4 KB  |  240 lines  |  [TEXT/MPS ]

  1. {
  2.     TMIntf.p
  3.     Pascal Interface to the Terminal Manager
  4.     
  5.     Copyright © Apple Computer, Inc. 1988,1989
  6.     All rights reserved
  7. }
  8. {$IFC UNDEFINED UsingIncludes}
  9. {$SETC UsingIncludes := 0}
  10. {$ENDC}
  11.  
  12. {$IFC NOT UsingIncludes}
  13.     UNIT TMIntf;
  14.     INTERFACE
  15. {$ENDC}
  16.  
  17. {$IFC UNDEFINED UsingTMIntf}
  18. {$SETC UsingTMIntf := 1}
  19.  
  20. {$I+}
  21. {$SETC TMIntfIncludes := UsingIncludes}
  22. {$SETC UsingIncludes := 1}
  23. {$IFC UNDEFINED UsingDialogs}
  24. {$I Dialogs.p}
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED UsingCTBUtils}
  28. {$I CTBUtils.p}
  29. {$ENDC}
  30.  
  31. {$IFC UNDEFINED UsingCMIntf}
  32. {$I CMIntf.p}
  33. {$ENDC}
  34.  
  35. {$SETC UsingIncludes := TMIntfIncludes}
  36.  
  37. CONST
  38. { current Terminal Manager version }
  39.     curTMVersion            =    1;
  40.     
  41. { current Terminal Manager Environment Record version }
  42.     curTermEnvRecVers        =    0;
  43.     
  44. { TMErr }
  45.     tmGenericError            =    -1;
  46.     tmNoErr                    =    0;
  47.     tmNotSupported            =    7;
  48.     tmNoTools                =    8;
  49.     
  50. { TMFlags }
  51.     tmInvisible                =    $00000001;
  52.     tmSaveBeforeClear        =    $00000002;
  53.     tmNoMenus                =    $00000004;
  54.     tmAutoScroll            =    $00000008;
  55.  
  56. { TMSelTypes & TMSearchTypes }
  57.     selTextNormal            =    $0001;
  58.     selTextBoxed            =    $0002;
  59.     selGraphicsMarquee        =    $0004;
  60.     selGraphicsLasso        =    $0008;
  61.         
  62.     tmSearchNoDiacrit        =    $0100;    {These are only for TMSearchTypes}
  63.     tmSearchNoCase            =    $0200;
  64.     
  65. { TMCursorTypes }
  66.     cursorText                =    1;
  67.     cursorGraphics            =    2;
  68.     
  69. { TMTermTypes }
  70.     tmTextTerminal            =    $0001;
  71.     tmGraphicsTerminal        =    $0002;
  72.     
  73. TYPE
  74.     TMErr                =    OSErr;
  75.     TMFlags                =    LONGINT;
  76.     TMSelTypes            =    INTEGER;
  77.     TMSearchTypes        =    INTEGER;
  78.     TMCursorTypes        =    INTEGER;
  79.     TMTermTypes            =    INTEGER;
  80.         
  81.     TermDataBlockH        = ^TermDataBlockPtr;
  82.     TermDataBlockPtr    = ^TermDataBlock;
  83.     TermDataBlock        =    RECORD
  84.         flags            :     TMTermTypes;
  85.         theData            :     Handle;
  86.         auxData            :     Handle;
  87.         reserved        :     LONGINT;
  88.     END;
  89.     
  90.     TermEnvironPtr        =    ^TermEnvironRec;
  91.     TermEnvironRec        =    RECORD
  92.         version            :    INTEGER;
  93.         termType        :    TMTermTypes;
  94.         textRows        :    INTEGER;
  95.         textCols        :    INTEGER;
  96.         cellSize        :    Point;
  97.         graphicSize        :    Rect;
  98.         slop            :    Point;
  99.         auxSpace        :    Rect;
  100.     END;    
  101.         
  102.     
  103.     TMSelection            =    RECORD
  104.         CASE INTEGER OF
  105.             1:    (
  106.                 selRect            :    Rect;
  107.                 );
  108.             2:    (
  109.                 selRgnHandle    :    RgnHandle;
  110.                 filler            :    LONGINT;
  111.                 );
  112.             END;
  113.  
  114.     TermHandle            =    ^TermPointer;
  115.     TermPointer            =    ^TermRecord;
  116.     TermRecord            =    RECORD
  117.         procID            :    INTEGER;
  118.                 
  119.         flags            :    TMFlags;
  120.         errCode            :    TMErr;
  121.         
  122.         refCon            :    LONGINT;
  123.         userData        :    LONGINT;
  124.  
  125.         defProc            :    ProcPtr;
  126.  
  127.         config            :    Ptr;
  128.         oldConfig        :    Ptr;
  129.  
  130.         environsProc    :    ProcPtr;
  131.         reserved1        :    LONGINT;
  132.         reserved2        :    LONGINT;
  133.  
  134.         tmPrivate        :    Ptr;
  135.     
  136.         sendProc        :    ProcPtr;
  137.         breakProc        :    ProcPtr;
  138.         cacheProc        :    ProcPtr;
  139.         clikLoop        :    ProcPtr;
  140.             
  141.         owner            :    WindowPtr;
  142.         termRect        :    Rect;
  143.         viewRect        :    Rect;
  144.         visRect            :    Rect;
  145.         
  146.         lastIdle        :    LONGINT;
  147.         
  148.         selection        :    TMSelection;
  149.         selType            :    TMSelTypes;
  150.         
  151.         mluField        :    LONGINT;
  152.     END;
  153.  
  154. FUNCTION     InitTM: TMErr;
  155. FUNCTION     TMGetVersion(hTerm: TermHandle): Handle;
  156. FUNCTION     TMGetTMVersion: INTEGER;
  157.  
  158. FUNCTION      TMNew(termRect: Rect; viewRect: Rect; flags: TMFlags;
  159.                 procID: INTEGER; owner: WindowPtr; sendProc: ProcPtr; cacheProc: ProcPtr;
  160.                 breakProc: ProcPtr; clikLoop: ProcPtr; environsProc: ProcPtr;
  161.                 refCon: LONGINT; userData: LONGINT): TermHandle;
  162.                 
  163. PROCEDURE     TMDispose(hTerm: TermHandle);
  164.  
  165. PROCEDURE     TMKey(hTerm: TermHandle; theEvent: EventRecord);
  166. PROCEDURE     TMUpdate(hTerm: TermHandle; visRgn: RgnHandle);
  167. PROCEDURE     TMPaint(hTerm: TermHandle; theTermData: TermDataBlock; theRect: Rect);
  168. PROCEDURE     TMActivate(hTerm: TermHandle; activate: BOOLEAN);
  169. PROCEDURE     TMResume(hTerm: TermHandle; resume: BOOLEAN);
  170. PROCEDURE     TMClick(hTerm: TermHandle; theEvent : EventRecord);
  171. PROCEDURE     TMIdle(hTerm:TermHandle);
  172.  
  173. FUNCTION      TMStream(hTerm: TermHandle; theBuffer: Ptr; theLength: LONGINT; flags: CMFlags): LONGINT;
  174. FUNCTION      TMMenu(hTerm: TermHandle; menuID: INTEGER; item: INTEGER): BOOLEAN;
  175.  
  176. PROCEDURE     TMReset(hTerm: TermHandle);
  177. PROCEDURE     TMClear(hTerm: TermHandle);
  178.  
  179. PROCEDURE     TMResize(hTerm: TermHandle; newViewRect: Rect);
  180.  
  181. FUNCTION      TMGetSelect(hTerm: TermHandle; theData: Handle; VAR theType: ResType): LONGINT;
  182. PROCEDURE     TMGetLine(hTerm: TermHandle; lineNo: INTEGER; VAR theTermData: TermDataBlock);
  183. PROCEDURE     TMSetSelection(hTerm: TermHandle; theSelection: TMSelection; selType: TMSelTypes);
  184.  
  185. PROCEDURE     TMScroll(hTerm:TermHandle; dH, dV:INTEGER);
  186.  
  187. FUNCTION      TMValidate(hTerm:TermHandle):BOOLEAN;
  188. PROCEDURE     TMDefault(VAR theConfig: Ptr; procID: INTEGER; allocate: BOOLEAN);
  189.  
  190. FUNCTION      TMSetupPreflight(procID: INTEGER; VAR magicCookie: LONGINT) : Handle;
  191. PROCEDURE     TMSetupSetup(procID: INTEGER; theConfig: Ptr; count: INTEGER; theDialog: DialogPtr;
  192.                 VAR magicCookie: LONGINT);
  193. FUNCTION      TMSetupFilter(procID: INTEGER; theConfig: Ptr; count: INTEGER; theDialog: DialogPtr; 
  194.                 VAR theEvent: EventRecord; VAR theItem: INTEGER; VAR magicCookie: LONGINT) : BOOLEAN;
  195. PROCEDURE     TMSetupItem(procID: INTEGER; theConfig: Ptr; count: INTEGER; theDialog: DialogPtr;
  196.                 VAR theItem: INTEGER; VAR magicCookie: LONGINT);
  197. PROCEDURE     TMSetupCleanup(procID: INTEGER; theConfig: Ptr; count: INTEGER; theDialog: DialogPtr;
  198.                 VAR magicCookie: LONGINT);
  199. PROCEDURE     TMSetupPostflight(procID: INTEGER);
  200.  
  201. FUNCTION      TMGetConfig(hTerm: TermHandle): Ptr;
  202. FUNCTION      TMSetConfig(hTerm: TermHandle; thePtr: Ptr): INTEGER;
  203.  
  204. FUNCTION      TMIntlToEnglish(hTerm: TermHandle; inputPtr: Ptr; VAR outputPtr: Ptr; 
  205.                 language: INTEGER): OSErr;
  206. FUNCTION      TMEnglishToIntl(hTerm: TermHandle; inputPtr: Ptr; VAR outputPtr: Ptr;
  207.                 language: INTEGER): OSErr;
  208.                 
  209. PROCEDURE     TMGetToolName(id: INTEGER; VAR name: Str255);
  210. FUNCTION      TMGetProcID(name: Str255) : INTEGER;
  211.  
  212. PROCEDURE     TMSetRefCon(hTerm: TermHandle; refCon: LONGINT);
  213. FUNCTION     TMGetRefCon(hTerm: TermHandle) : LONGINT;
  214.  
  215. PROCEDURE     TMSetUserData(hTerm: TermHandle; userData: LONGINT);
  216. FUNCTION     TMGetUserData(hTerm: TermHandle) : LONGINT;
  217.  
  218. FUNCTION     TMAddSearch(hTerm: TermHandle; theString: Str255; where: Rect; 
  219.                 searchType: TMSearchTypes; callBack: ProcPtr): INTEGER;
  220. PROCEDURE     TMRemoveSearch(hTerm: TermHandle; refnum: INTEGER);
  221. PROCEDURE     TMClearSearch(hTerm: TermHandle);
  222.  
  223. FUNCTION      TMGetCursor(hTerm: TermHandle; cursType: TMCursorTypes) : Point;
  224.  
  225. FUNCTION      TMGetTermEnvirons(hTerm: TermHandle; VAR theEnvirons: TermEnvironRec): TMErr;
  226.  
  227. FUNCTION     TMChoose(VAR hTerm:TermHandle; where: Point; idleProc:ProcPtr): INTEGER;
  228. PROCEDURE     TMEvent(hTerm: TermHandle; theEvent: EventRecord);
  229.  
  230. FUNCTION    TMDoTermKey(hTerm: TermHandle; theKey: Str255): BOOLEAN;
  231. FUNCTION    TMCountTermKeys(hTerm: TermHandle): INTEGER;
  232. PROCEDURE    TMGetIndTermKey(hTerm: TermHandle; id: INTEGER; VAR theKey: Str255);
  233.  
  234. {$ENDC} {UsingTMIntf}
  235.  
  236. {$IFC NOT UsingIncludes}
  237.     END.
  238. {$ENDC}
  239.  
  240.